#define _CRT_SECURE_NO_WARNINGS

#include<bits/stdc++.h>
using namespace std;

int main()
{
	vector<string> v(2);
	cin >> v[0];
	cin >> v[1];

	int size = v[0].size();

	int left = 0, right = 0;
	int same = 0;
	for (int i = 0; i < size; i++)
	{
		if (v[0][i] == '#' || v[1][i] == '#')
		{
			left = i;
			break;
		}
	}

	for (int i = size - 1; i >= 0; i--)
	{
		if (v[0][i] == '#' || v[1][i] == '#')
		{
			right = i;
			break;
		}
	}

	for (int i = left; i < right; i++)
	{
		if (i == 0 && v[0][i] == '#' && v[1][i] == '#' || v[0][i] == '#' && v[1][i + 1] == '#') same++;
		else if (i > 0 && v[0][i] == '#' && v[1][i] == '#' || v[0][i] == '#' && v[1][i + 1] == '#' || v[0][i] == '#' && v[1][i - 1] == '#') same++;
	}
	cout << right - left - same;
	return 0;
}


//int main()
//{
//	int T;
//	cin >> T;
//	while(T--)
//	{
//		long long A, B, C, K;
//		cin >> A >> B >> C >> K;
//		int A1, B1, C1;
//		while(K--)
//		{
//			A1 = (B + C) / 2;
//			B1 = (A + C) / 2;
//			C1 = (A + B) / 2;
//			A = A1, B = B1, C = C1;
//		}
//		cout << A << ' ' << B << ' ' << C <<' ' << endl;	
//	}
//	
//	return 0;
//}



//int main()
//{
//	int n = 0;
//	cin >> n;
//	int ans = n;
//	while(n--)
//	{
//		int x = 0;
//		cin >> x;
//	}
//	cout << ans << endl;
//	return 0;
//}





